Fan control for computing devices

ABSTRACT

A fan device used with respect to a computing device. The fan device includes at least two fans that provide airflow for the computing device and a controller that adjusts the fans&#39; speeds in an attempt to avoid harmonic vibrations of the at least two fans. The fan device may include at least one sensor, and the controller may adjust the fans&#39; speeds based at least on information from the sensor(s) in the attempt to avoid the harmonic vibrations. The attempt to avoid the harmonic vibrations may also attempt to mitigate one or more of turbulence, pressure, over-heating, power consumption, or noise in, by, or around the computing device. Reversal of airflow may also be used. A fan bar that enables isolation of ground return noise may also be used. The controller may use sums of primes calculations, phase analysis, common divisor calculations, and the like. Also, associated methods.

CROSS-REFERENCE TO RELATED APPLICATION

Not applicable

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTINGCOMPACT DISK APPENDIX

Not Applicable

BACKGROUND

The present disclosure generally relates to controlling fans used tomitigate one or more of turbulence, pressure, over-heating, powerconsumption, or noise in, by, or around a computing device.

SUMMARY

Aspects of the subject technology include a fan device used with respectto a computing device. The fan device includes at least two fans thatprovide airflow for the computing device, and a controller that adjuststhe fans' speeds in an attempt to avoid harmonic vibrations of the atleast two fans.

The fan device may also include at least one sensor. The controller mayadjust the fans' speeds based at least on information from the at leastone sensor in the attempt to avoid the harmonic vibrations. The attemptto avoid the harmonic vibrations may also attempt to mitigate one ormore of turbulence, pressure, over-heating, power consumption, or noisein, by, or around the computing device.

In some aspects, the controller reverses airflow of at least one of thefans in an attempt to mitigate one or more of turbulence, pressure,over-heating, power consumption, or noise in, by, or around thecomputing device.

The fan device may include a fan bar that holds at least one of thefans. The fan bar may enable isolation of ground return noise by usinglocal decoupling of the fans' power usage. The controller and the fansmay communicate without use of cabling.

In some aspects, the controller may use mathematical calculations tocontrol the fans. Examples of such calculations include but are notlimited to one or more of sums of primes, for example related to one ormore process variables for the fans, a constellation of the fans'speeds, phase shift transforms, and common divisor calculations. Thecontroller preferably attempts to minimize the fans' speeds so as toprolong the fans' lives while making the effort to avoid the harmonicvibrations.

The subject technology also includes associated methods.

This brief summary has been provided so that the nature of the inventionmay be understood quickly. Additional steps and/or different steps thanthose set forth in this summary may be used. A more completeunderstanding of the invention may be obtained by reference to thefollowing description in connection with the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a fan device arrangement including a controller and afan bar according to aspects of the subject technology.

FIG. 2 illustrates another fan device arrangement including a controllerand a fan bar according to aspects of the subject technology.

FIG. 3 illustrates controller(s) for fans according to aspects of thesubject technology.

FIG. 4 is a flowchart showing steps of controlling fans according toaspects of the subject technology.

DETAILED DESCRIPTION

Any physical object has frequencies at which they naturally vibrate.These frequencies are known as resonance frequencies. If a vibration isintroduced into the object at one of its resonance frequencies, theresults can be catastrophic. Two factors are necessary to create afailure: sufficient amplitude and the right frequency. One well knownexample is shattering of a crystal wine glass by a person signing loudenough (sufficient amplitude) at just the right pitch (frequency). Evenif catastrophic failure does not occur, prolonged exposure of an objectto vibrations at a sufficient amplitude and the right (or rather wrong)frequency or frequencies can damage the object.

Computing device(s) and portion(s) thereof are no exception—they alsohave resonance frequencies. Thus, prolonged exposure of computingdevice(s) and portion(s) thereof to vibrations at a sufficient amplitudeand the right/wrong frequency or frequencies can cause damage.

One source of vibrations in many computing device(s), especially inlarge facilities such as data centers, is fans typically used forcooling and/or airflow. For example, a larger “server rack” or “rackunit” typically has many fans. If those fans are driven by a same powersource, have an electrical connection such as power or groundconnections, are of a same design, and/or are not properly controlled,the vibrations from the fans may tend to synch up.

This synching up can increase the amplitude of vibrations generated bythe fans. If the frequency or frequencies of those vibrations match aresonant frequency of the computing device(s) or portion(s) thereof,damage can occur. However, fans controlled to have different harmonicvibrations are unlikely to synch up in this manner.

Cabling can also facilitate transmission of vibrations from the fan(s)to the computing device(s) or portion(s) thereof. Metal wire used incabling can be an exceptionally effective transport vector for thevibrations.

Other issues regarding fans in computing device include but are notlimited to turbulence, pressure, over-heating, power consumption, and/ornoise in, by, or around the computing device(s). These issues may alsobe addressed by proper control.

Aspects of the subject technology are intended to address all or atleast some of the foregoing issues.

FIG. 1 illustrates fan device arrangement 100 including a controller anda fan bar according to aspects of the subject technology. Other elementsmay be included as well, and some illustrated elements may be omitted.

Fan arrangement 100 includes at least fans 101 for cooling and/orproviding airflow for computing device(s) 102. Fans 101 preferably arevariable speed fans.

While three fans are shown, any number of fans may be used. In someaspects, the fans create an “airflow lens” directed toward particularpart(s) of computing device(s) 102, for example to cool one or moreelements such as storage media or processor(s) that may have higher heatgeneration, power consumption, or the like.

Computing device(s) 102 are shown as part of rack unit (RU), datacenter, server, or other larger computing infrastructure 103. However,computing device(s) 102 may be a single stand-alone device or pluralcomputing devices situated in another environment.

Controller(s) 104 adjusts the fans' speeds in an attempt to avoidharmonic vibrations of fans 101. As shown in FIG. 1, controller(s) 104are a part of one or more computing device(s) 102. The computingdevice(s) may also include sensor(s) 105 that provide information tocontroller(s) 104. The controller(s) may adjust the fans' speeds basedat least on information from the sensor(s) in the attempt to avoid theharmonic vibrations.

Controller(s) 104 may also attempt to control fans 101 in an attempt tomitigate one or more of turbulence, pressure, over-heating, powerconsumption, or noise in, by, or around the computing device. Thiscontrol may be based on information from sensor(s) 105.

In some aspects, one or more of fans 101 are held in or supported by oneor more fan bar(s) 106. Fan bar(s) 106 preferably provided isolation 107from power (ground) 108 that supplies power to fans 101 and/or computingdevice(s) 102. This isolation may include local decoupling of the fans'power usage from the each of the fans, the computing device, and/orportions thereof.

Noise or other signals in power (ground) 108 may communicate vibrationsor create harmonics between fan(s) 101, for example via feedback and/orfrom an outside source. These vibrations and/or harmonics can causedamage as discussed above. Isolation 107 may mitigate the potential forsuch vibrations and/or harmonics to cause damage.

Isolation 107 may also mitigate the impact of power spikes resultingfrom a fan's starts or stops on other fan(s). Repeated power spikes cancause damage to fans. Thus, isolation 107 may help to prolong fan life.

Cabling can result in transmission of vibrations and/or harmonics.Namely, cabling including metallic conductors used to transmit powerand/or information are also usually very good at transmitting vibrationand harmonics. Preferred aspects of the subject technology thereforeinclude supply of power and/or information (e.g., speed control) to thefans without use of cabling. For example, communications and/ortransmission of power between computing device(s) 102, controller(s)104, and/or fans 101 may be implemented via connections not involvingcabling. For example, direct contact points such as metal pads thatengage extended metal spikes may be used in the transmission of powerand/or information.

FIG. 2 illustrates another fan device arrangement 200 including acontroller and a fan bar according to aspects of the subject technology.Controller(s) 104 need not be part of computing device(s) 102, fan bar106, and/or rack unit (RU), data center, server, or other largercomputing infrastructure 103. However, controller(s) 104 preferably cancontrol operation of at least some of fans 101. Likewise, whilesensor(s) 105 preferably are able to sense information about operationof at least some of fans 101 as illustrated by their proximity to thefan bar in FIG. 2, the sensor(s) need not be part of computing device(s)102, fan bar 106, and/or rack unit (RU), data center, server, or otherlarger computing infrastructure 103.

FIG. 3 illustrates controller(s) 300 for fans according to aspects ofthe subject technology. The controller(s) may serves as controller(s)104 shown in FIGS. 1 and 2. Controller(s) 300 may be a single controlleror plural controllers, situated locally, remotely, or both with respectto the fans, part of larger controller(s), or any other form ofcontroller(s) for some or all of the operations of the fans. Some or allof the elements and/or features of controller(s) 300 shown in FIG. 3 maybe included. Other elements and/or feature(s) may be included, and someillustrated elements may be omitted.

Controller(s) 300 in FIG. 3 includes processor(s) 301, interface(s) 302to fans such as fans 101, and interface(s) 303 to sensor(s) such assensor(s) 105. Controller(s) 300 preferably use processor(s) 301 in anattempt to achieve some or all of the following goals: avoid harmonicvibrations, mitigate one or more of turbulence, pressure, over-heating,power consumption, or noise, prolong fan life, and/or other goals.

Control of the fans may include adjusting fan speeds (e.g., RPM—roundsper minute) including possibly to zero RPM (i.e., stopped) and/orreversing one or more of the fans. Slower speeds may result in lesspower consumption by and/or wear of the fans. Reversing fans mayfacilitate cooling functions.

The control may be based on information from sensor(s) as well ascertain mathematical and/or processing activities. These activitiespreferably include but are not limited to one or more of sums of primescalculations, processing a constellation of fan operation information,phase analysis, and/or common divisor calculations. Each of these isexplained in more detail below.

Sums of Primes Calculations

Control may involve sums of primes calculations to control the fans'speeds. A code/pseudo-code fragment cast in the Python computinglanguage for an example of a sum of primes calculation follows:

#!/usr/bin/python import random #minimum PWM setting 25% on fan defget_primes(n): numbers = set(range(n, 1, −1)) primes = [ ] whilenumbers: p = numbers.pop( ) primes.append(p)numbers.difference_update(set(range(p*2, n+1, p))) primes=sorted(primes)return primes def get_fanplan(numbers, target, partial=[ ]): s =sum(partial) # check if the partial sum is equals to target if s ==target: shufflepartial = random.shuffle(partial) if s >= target: return# if we reach the number, stop for i in range(len(numbers)): n =numbers[i] remaining = numbers[i+1:] get_fanplan(remaining, target,partial + [n]) # n is the total fan flow # def get_temperatures( ): #def get_PI_total( ): # all the primes in 8 bits primes = get_primes(255)# create a process variable total that will later come from #temperature input into a PI control algorithm that will output a total #created total here is between 100 and 300 RPM for all the fans attempt =random.randrange(100 , 300) get_fanplan(primes, attempt)The subject technology is not limited to this sample code/pseudo-codefragment and the comments therein. Also, other computing languages maybe used.

In preferred aspects, the sums of primes are related to one or moreprocess variables for the fans. Temperature is the process variable inthe above code/pseudo-code fragment (def get_temperatures( )). Otherprocess variables may be used alone or in combination. Temperature maybe included or excluded from the process variables.

Examples of process variables that may be used include but are notlimited to the following:

BkW=Brake (shaft) kilowatt of Fan in (kilowatts, kW);

D=Wheel Diameter, in (m);

d=Relative Density, (dimensionless);

e_(s)=Static Efficiency, in (fractions);

e_(t)=Mechanical (Total) Efficiency in (fractions);

F₁=Temperature Correction Factor, in (kg/m3);

F₂=Altitude Correction Factor, in (kg/m3);

FkW=Fan Power, in (kilowatts);

GkW=Gas (Air) kilowatt of Fan, in (kilowatts, kW);

K=Ratio of Specific Heats, Cp/Cv, (dimensionless);

P₁=Fan Inlet Pressure, in [mm H₂O (abs.)], or (in [Pa(abs.)];

P_(s)=Static Pressure of Fan, in [mm H₂O (abs.)], or in [Pa(abs.)];

P_(s2)=Fan Outlet Static Pressure, in [mm H₂O (abs.)], or in [Pa(abs.)];

P_(t)=Total Pressure in (mm H₂O), or in (Pa);

P_(tf)=Fan Total Pressure in (mm H₂O), or (Pa);

P_(v)=Velocity Pressure of Fan, in (mm H₂O), or (Pa);

pv2=Fan Outlet Velocity Pressure, in [mm H₂O (abs.)], or [Pa(abs.)];

r/min=Rotational Speed, in (rotations per minute);

T₁=Gas Temperature at Fan Inlet, in (K);

V₁=Fan inlet Rate, in (m3/h);

V_(m)=Gas Velocity, in (m/s);

V_(p)=Peripheral Velocity, in (m/s);

t=Temperature Rise, in (K or degree ° C.); and

ρ (rho)=Density (Mass Density), in (kg/m3).

Units of measure are provided for reference. Different units of measuremay be used in implementation of the subject technology. Other processvariables and/or some combination thereof may be used.

Constellation of Fan Operation Information

Fan operation information can be processed as a constellation of data.This constellation if analyzed may reveal the potential for damagingresonance and other issues. The constellation may include but is notlimited to information regarding one or more of fan speeds, suppliedpower, phase of supplied power, and/or other information about operationof the fans. The constellation of information about the fans preferablyis monitored, analyzed, and/or controlled by controller(s) 300 toachieve some or all of the goals set forth herein. Controller(s) 300 mayuse sensor(s) 105, internal controls, and/or other sources to acquirethe relevant information.

Phase Analysis

Inputs at a harmonic frequency may not create resonance if they are outof phase. Frequencies must be “phase matched” to create resonance. Forexample, two signals at a same frequency with a matched phase willamplify each other, while two signals at a same frequency but withopposite phases will cancel each other out. Controller(s) 300 thereforemay use phase analysis when controlling fan operation. For example, thecontroller(s) may receive input from sensor(s) 105 to determine if phasematching has occurred and then may adjust fan speeds and/or phase ofpower and/or information supplied to the fans to “break” the phasematching. For another example, controller(s) 300 may ensure power and/orinformation sent to fans 101 has phases that do not reinforce each otherwithout input from sensor(s) 105.

Fourier transforms may be used by controller(s) 300 to analyze potentialphase matching. Other mathematical techniques may be used. A phase shiftoscillator may be used to change the phase of power and/or informationsent to one or more of the fans to avoid phase matching.

Common Divisor Calculations

Processor(s) 300 may use common divisor calculations, for example theEuclidean algorithm and/or Stein's algorithm, to verify the speeds offans 101 do not have a common harmonic frequency.

FIG. 4 is a flowchart showing steps of controlling fans according toaspects of the subject technology. Method 400 includes step 401 of usingfans to provide airflow to a computing device or portions therefor andstep 402 of controlling the fans to avoid resonance, prolong fan life,and/or other goals as discussed above.

Step 402 preferably also mitigates turbulence, pressure, over-heating,power consumption, and or noise of the fans as illustrated by element403. Step 402 may operate based on information from sensor(s) asillustrated by element 404. The control may include reversing airflow asillustrated by element 405. In some aspects, the control is performedwithout use of cabling as illustrated by element 406. Ground noise maybe isolated as illustrated by element 407.

Element 408 represents non-limiting bases for control 402. These basesinclude but are not limited to sum of primes calculations 409,constellation of information 410, phase analysis 411, and common divisorcalculations 412.

The subject technology may be performed by one or more computingdevice(s) such as controller(s) 104 in FIGS. 1 and 2 and controller(s)300 in FIG. 3. The computing device(s) preferably includes at least atangible computing element. Examples of a tangible computing elementinclude but are not limited to a microprocessor, application specificintegrated circuit, programmable gate array, memristor based device, andthe like. A tangible computing element may operate in one or more of adigital, analog, electric, photonic, quantum mechanical, and/or someother manner. Control may be performed by a virtualized computing devicethat ultimately runs on tangible computing elements or any other form ofcomputing device.

Additionally, some operations may be considered to be performed bymultiple computing devices. For example, steps of controlling may beconsidered to be performed by both a local computing device and a remotecomputing device that instructs the local computing device to controlsomething. Communication between computing devices may be through one ormore other computing devices and/or networks.

The invention is in no way limited to the specifics of any particularaspects (e.g., embodiments, elements, steps, and/or examples) disclosedherein. For example, the terms “aspect,” “example,” “preferably,”“alternatively,” “may,” and the like denote features that may bepreferable but not essential to include in some embodiments of theinvention. Details illustrated or disclosed with respect to any oneaspect of the invention may be used with other aspects of the invention.Additional elements and/or steps may be added to various aspects of theinvention and/or some disclosed elements and/or steps may be subtractedfrom various aspects of the invention without departing from the scopeof the invention. Singular elements/steps imply plural elements/stepsand vice versa. Some steps may be performed serially, in parallel, in apipelined manner, or in different orders than disclosed herein. Manyother variations are possible which remain within the content, scope,and spirit of the invention, and these variations would become clear tothose skilled in the art after perusal of this application.

What is claimed is:
 1. A fan device used with respect to a computingdevice, comprising: at least two fans that provide airflow for thecomputing device; and a controller including a processor configured to:adjust the fans' speeds in an attempt to avoid harmonic vibrations ofthe at least two fans; and use sums of primes to control the fans'speeds in the effort to avoid the harmonic vibrations.
 2. The fan deviceas in claim 1, further comprising at least one sensor; wherein thecontroller is configured to adjust the fans' speeds based at least oninformation from the at least one sensor in the attempt to avoid theharmonic vibrations.
 3. The fan device as in claim 1, wherein theattempt to avoid the harmonic vibrations is also an attempt to mitigateone or more of turbulence, pressure, over-heating, power consumption, ornoise in, by, or around the computing device.
 4. The fan device as inclaim 1, wherein the controller is configured to reverse airflow of atleast one of the fans in an attempt to mitigate one or more ofturbulence, pressure, over-heating, power consumption, or noise in, by,or around the computing device.
 5. The fan device as in claim 1, furthercomprising a fan bar that holds at least one of the fans; wherein thefan bar enables isolation of ground return noise by using localdecoupling of the fans' power usage.
 6. The fan device as in claim 1,wherein the controller and the fans are configured to communicatewithout use of cabling.
 7. The fan device used with respect to thecomputing device as in claim 1, wherein the sums of primes are relatedto one or more process variables for the fans.
 8. The fan device as inclaim 1, wherein the processor is configured to use a constellation ofthe fans' speeds in the effort to avoid the harmonic vibrations.
 9. Thefan device as in claim 1, wherein the processor is configured to usephase analysis to control the fans in the effort to avoid the harmonicvibrations.
 10. A fan device used with respect to a computing device,comprising: at least two fans that provide airflow for the computingdevice; and a controller including a processor configured to: adjust thefans' speeds in an attempt to avoid harmonic vibrations of the at leasttwo fans; and use common divisor calculations to control the fans'speeds in the effort to avoid the harmonic vibrations.
 11. A fan deviceused with respect to a computing device, comprising: at least two fansthat provide airflow for the computing device; and a controllerincluding a processor configured to adjust the fans' speeds in anattempt to avoid harmonic vibrations of the at least two fans, whereinthe attempt to avoid the harmonic vibrations is also an attempt tomitigate one or more of turbulence, pressure, over-heating, or powerconsumption in, by, or around the computing device.
 12. A fan deviceused with respect to a computing device, comprising: at least two fansthat provide airflow for the computing device; and a controllerincluding a processor configured to adjust the fans' speeds in anattempt to avoid harmonic vibrations of the at least two fans, whereinthe controller is configured to reverse airflow of at least one of thefans in an attempt to mitigate one or more of turbulence, powerconsumption, or noise in, by, or around the computing device.
 13. A fandevice used with respect to a computing device, comprising: at least twofans that provide airflow for the computing device; a controllerincluding a processor configured to adjust the fans' speeds in anattempt to avoid harmonic vibrations of the at least two fans; and a fanbar that holds at least one of the fans, wherein the fan bar isconfigured to enable isolation of ground return noise by using localdecoupling of the fans' power usage.
 14. A fan device used with respectto a computing device, comprising: at least two fans that provideairflow for the computing device; and a controller including a processorconfigured to adjust the fans' speeds in an attempt to avoid harmonicvibrations of the at least two fans; wherein: the controller is local tothe fans; the controller is configured to provide power to the fans; andthe controller and the fans are configured to communicate with eachother without use of cabling.